#!D:/CODE/python
# -*- coding: utf-8 -*-
# @Time : 2020/5/28 22:24
# @Author : Alexdong
# @Site : 
# @File : 多继承.py
# @Software: PyCharm
# Functional description:

class Parent():
    def __init__(self,name):
        print('parent的init方法')
        self.name = name


class son1(Parent):
    def __init__(self, name, age):
        print("son1的init方法被调用")
        self.age = age

        # 三种重写父类的方法
        # Parent.__init__(self, name)
        super().__init__(name)
        # super(Parent, self).__init__(name)


class son2(Parent):
    def __init__(self):
        print()
        super().__init__()

class sun(son1, son2):
    def __init__(self):
        super(son2, self).__init__()  # 当采用该方式时，会直接调son2的，然后调parent,可以跳过一些子类

        super().__init__()

print(sun.__mro__)   # __mro__属性：该属性得到一个元组结果，该结果的顺序，是该类的super()的重写调用顺序，会调用当前类的后面一个类的方法
